prizmdoc-rest-client (BETA)
(BETA) HTTP client designed to simplify interactions with PrizmDoc Server. Specifically:
- Automatically handles affinity concerns
- Provides a way to easily poll for process completion
Installation
npm install @accusoft/prizmdoc-rest-client
Example Usage
Here's an example demonstrating converting a JPEG to PDF:
const PrizmDocRestClient = require('@accusoft/prizmdoc-rest-client');
const fs = require('fs');
async function main() {
const prizmdocServer = new PrizmDocRestClient({
baseUrl: 'https://api.accusoft.com',
headers: {
'Acs-Api-Key': 'YOUR_API_KEY'
}
});
const session = prizmdocServer.createAffinitySession();
let res;
res = await session.post('/PCCIS/V1/WorkFile', {
body: fs.readFileSync('input.jpg')
});
const inputWorkFile = await res.json();
res = await session.post('/v2/contentConverters', {
body: JSON.stringify({
input: {
sources: [
{
fileId: inputWorkFile.fileId
}
],
dest: {
format: 'pdf'
}
}
})
});
let process = await res.json();
process = await session.getFinalProcessStatus(`/v2/contentConverters/${process.processId}`);
if (process.state !== 'complete') {
throw new Error(`The process failed to complete: ${JSON.stringify(process, null, 2)}`);
}
res = await session.get(`/PCCIS/V1/WorkFile/${process.output.results[0].fileId}`);
res.body.pipe(fs.createWriteStream('output.pdf'));
}
main();